//#include<iostream>
//#include<queue>
//#include<map>
//#include<list>
//using namespace std;
//
//struct TreeNode
//{
//	int val;
//	TreeNode* left;
//	TreeNode* right;
//};
///**struct TreeNode {
//	*int val;
//	*TreeNode* left;
//	*TreeNode* right;
//	*TreeNode() : val(0), left(nullptr), right(nullptr) {}
//	*TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
//	*TreeNode(int x, TreeNode* left, TreeNode* right) : val(x), left(left), right(right) {}
//	*
//};
//*/
////vector<vector<int>> levelOrder(TreeNode* root) 
////{
////	if (root == nullptr)
////	{
////		return;
////	}
////}
//
//int findKthLargest(vector<int>& nums, int k) 
//{
//	priority_queue<int> pq(nums.begin(), nums.end());
//	while (--k)
//	{
//		pq.pop();
//	}
//	return pq.top();
//}
//void test()
//{
//	//queue<int> q1;
//	//q1.push(1);
//	//q1.push(2);
//	//q1.push(3);
//	//q1.push(4);
//	//q1.push(5);
//	//while (!q1.empty())
//	//{
//	//	cout << q1.front() << " ";
//	//	q1.pop();
//	//}
//	//cout << endl;
//	priority_queue<int,vector<int>,greater<int>> pq;
//	pq.push(1);
//	pq.push(7);
//	pq.push(9);
//	pq.push(4);
//	pq.push(2);
//	while (!pq.empty())
//	{
//		cout << pq.top() << " ";
//		pq.pop();
//	}
//	cout << endl;
//}
//int main()
//{
//	test();
//	return 0;
//}

#include<iostream>
#include<vector>
#include<list>
#include<deque>
using namespace std;
#include"stack.h"
#include"queue.h"


void test()
{
	fast::queue<int> q1;
	q1.push(1);
	q1.push(2);
	q1.push(3);
	q1.push(4);
	q1.push(5);
	while (!q1.empty())
	{
		cout << q1.front() << " ";
		q1.pop();
	}
	cout << endl;
	//fast::stack<int, list<int>> st;
	//st.push(1);
	//st.push(2);
	//st.push(3);
	//st.push(4);
	//st.push(5);
	//while (!st.empty())
	//{
	//	cout << st.top() << " ";
	//	st.pop();
	//}
	//cout << endl;
}

//int main()
//{
//	test();
//	return 0;
//}

